<?php
/**
 * @author André Coura <andreccls@gmail.com>
 * @since 26/11/2012
 */
//necessário para todas as páginas do admin (facilitador)
include("defaultSite.php");
require_once(FWK_CONTROL."ControlJS.class.php");
require_once(FWK_CONTROL."ControlCSS.class.php");

require_once(PASTA_DAO."Usuario.class.php");
require_once(PASTA_DAO."Endereco.class.php");

ControlCSS::getCSS()->addCss("js/supersized/css/supersized.css");
ControlCSS::getCSS()->escreveCss();

ControlJS::getJS()->addJs("js/supersized/js/jquery.easing.min.js");
ControlJS::getJS()->addJs("js/supersized/js/supersized.3.2.7.js");
ControlJS::getJS()->addJs("js/supersized/theme/supersized.shutter.js");
ControlJS::getJS()->escreveJs();

$objUsuario = new Usuario();
$objEndereco = new Endereco();

if(!isset($_GET["a"]))
	$_GET["a"] = "";
switch ($_GET["a"]){
	case 'post':
		try{
			//validação preguiça de fazer em javascript
			$arrErros = array();
			
			if($_POST["nome_usuario"]=="")
				$arrErros["MENS_ERRO_NOME"] = "O Nome é obrigatório";
			if($_POST["data_nascimento"]=="")
				$arrErros["MENS_ERRO_DATA_NASCIMENTO"] = "A data de nascimento é obrigatória";			
			if($_POST["email_usuario"]=="")
				$arrErros["MENS_ERRO_EMAIL"] = "O email é obrigatório";
			//if($_POST["telefone_usuario"]=="")
			//	$arrErros["MENS_ERRO_TELEFONE"] = "O telefone é obrigatório";	
			if($_POST["celular_usuario"]=="")
				$arrErros["MENS_ERRO_CELULAR"] = "O celular é obrigatório";		
			if($_POST["logradouro_endereco"]=="")
				$arrErros["MENS_ERRO_LOGRADOURO"] = "O logradouro é obrigatório";
			if($_POST["bairro_endereco"]=="")
				$arrErros["MENS_ERRO_BAIRRO"] = "O bairro é obrigatório";
			if($_POST["cidade_endereco"]=="")
				$arrErros["MENS_ERRO_CIDADE"] = "A cidade é obrigatória";
			if($_POST["cep_endereco"]=="")
				$arrErros["MENS_ERRO_CEP"] = "O CEP é obrigatório";
			if($_POST["id_estado"]=="")
				$arrErros["MENS_ERRO_ESTADO"] = "O estado é obrigatório";				
			
			$dataNascimento = FormataDatas::parseDataSql($_POST["data_nascimento"]);
			if($_POST["data_nascimento"]!="" && $dataNascimento == "")
				$arrErros["MENS_ERRO_DATA_NASCIMENTO"] = "Data de nascimento inválida";	
				
			if($_POST["senha_usuario"]=="" && $_POST["confsenha_usuario"]=="") {
				//$arrErros["MENS_CONF_ERRO_SENHA"] = "A confirmação da senha é um campo obrigatório";
				$arrErros["MENS_ERRO_SENHA"] = "A senha é um campo obrigatório";
			} else if($_POST["senha_usuario"] != $_POST["confsenha_usuario"])
				$arrErros["MENS_ERRO_SENHA"] = "A senha deve ser igual à sua confirmação.";
			else
				$_POST["senha_usuario"] = base64_encode(md5($_POST["senha_usuario"]));
			//fim validação dos dados
			
			if($_POST["cpf_usuario"]=="")
				$arrErros["MENS_ERRO_CPF"] = "O cpf/cnpj é obrigatório";	
			else {
				$searchArray = array(".", "/", "-");
	   			$replaceArray = array("", "", "");
	   			$_POST["cpf_usuario"] = str_replace($searchArray, $replaceArray, $_POST["cpf_usuario"]);
			}
			
			if(strlen($_POST["cpf_usuario"]) <= 11 ) {
				if($objUsuario->verificaCpf($_POST["cpf_usuario"]) == false) {
					$arrErros["MENS_ERRO_CPF"] = "CPF inválido";
					//$objCtrlSmarty->assign("cpf_usuario",);
				}
			}else {
				if($objUsuario->verificaCnpj($_POST["cpf_usuario"]) == false) {
					$arrErros["MENS_ERRO_CPF"] = "CNPJ inválido";
					//$objCtrlSmarty->assign("cpf_usuario",);
				}
			}
			
			if(count($arrErros) == 0){
				//Retira mascaras dos campos
	   			$_POST["data_nascimento"] = FormataDatas::parseDataSql($_POST["data_nascimento"]);
	   			$_POST["telefone_usuario"] = str_replace(array(".", "/", "(", ")", " ", "-"), "",$_POST["telefone_usuario"]);
	   			$_POST["celular_usuario"] = str_replace(array(".", "/", "(", ")", " ", "-"), "",$_POST["celular_usuario"]);
	   			$_POST["cep_endereco"] = str_replace(array(".", "/", "(", ")", " ", "-"), "",$_POST["cep_endereco"]);
	   			
	   			
				$id = (int)$_POST["id_usuario"];
				if(!is_numeric($id) || $id == 0 || $id=="") 
					$id = null;
					
				$idEndereco = (int)$_POST["id_endereco"];
				if(!is_numeric($idEndereco) || $idEndereco == 0 || $idEndereco=="") 
					$idEndereco = null;
					
				$objEndereco->alterar($idEndereco,$_POST);
				
				$_POST["id_endereco"] = $objEndereco->id_endereco;
				$objUsuario->status = 'A';
			
				$objUsuario->alterar($id,$_POST,null);
				
				$destinatario = "platinum@primalinea.com.br,".$_POST["email_usuario"];
				$assunto = "Bem vindo ao Platinum - Prima Linea";
				$mensagem = "
						<html>
							<head>
							 	<title>Platinum</title>
							</head>
							<body>
							<p> 
								<p>Parabéns ".$_POST["nome_usuario"]."! </p><br/>
								
								<p>Seu cadastro no Prima Linea Platinum foi realizado com sucesso.</p><br/>
								<p>Qualquer dúvida favor entrar em contato através do email: platinum@primalinea.com.br</p>
								<br/>
								
								-- Equipe Platinum -- Prima Linea
							</body>
						</html>";
				$cabecalhos  = "MIME-Version: 1.0" . "\r\n";
				$cabecalhos .= "Content-type: text/html; charset=utf-8" . "\r\n";
				$cabecalhos .= "To: Contato <".$destinatario.">" . "\r\n";
				$cabecalhos .= "From: Prima Linea - Platinum <platinum@primalinea.com.br>" . "\r\n";
				
				mail($destinatario, $assunto, $mensagem, $cabecalhos, '-fandreccls@gmail.com');
				
				$objCtrlSmarty->assign("MSG_GRAVACAO_SUCESSO","S");
				$objCtrlSmarty->assign("CONTEUDO",$objCtrlSmarty->fetch("cadastro.tpl"));
			}else{
				//loop para preencher, em caso de erro, o formulário
				foreach ($_POST as $nomeCampo => $fieldData) {
					$objCtrlSmarty->assign($nomeCampo,utf8_encode($fieldData));
				}
				//loop para setar os lugares com os erros
				foreach ($arrErros as $nomeErro => $conteudo) {
					$objCtrlSmarty->assign($nomeErro,$conteudo);
				}
				//exibo o form aqui
				$objCtrlSmarty->assign("CONTEUDO",$objCtrlSmarty->fetch("cadastro.tpl"));
			}
			
		}catch(CustonException $e){
			//loop para preencher, em caso de erro, o formulário
			foreach ($_POST as $nomeCampo => $fieldData) {
				$objCtrlSmarty->assign($nomeCampo,utf8_encode($fieldData));
			}
			//loop para setar os lugares com os erros
			foreach ($arrErros as $nomeErro => $conteudo) {
				$objCtrlSmarty->assign($nomeErro,$conteudo);
			}
			
			
			$objCtrlSmarty->assign("MENS_ERRO_CPF","Você ja esta cadastrado!");
			$objCtrlSmarty->assign("CONTEUDO",$objCtrlSmarty->fetch("cadastro.tpl"));
		}
	break;
	
	default:
		$objCtrlSmarty->assign("CONTEUDO",$objCtrlSmarty->fetch("cadastro.tpl"));
	break;
}

//definição da estrutura do admin <cabecalho, corpo e rodape>
$objCtrlSmarty->assign("ESTRUTURA",$objCtrlSmarty->fetch("estruturaCad.tpl"));

//ultima coisa que deve ter no arquivo, serve para imprimir a tela
$objCtrlSmarty->display("index.tpl");
?>